﻿
using Video.Application.Contract.Base;
using Video.Application.Contract.UserInfos.Dtos;

namespace Video.Application.Contract.UserInfos;

public interface IUserInfoService
{
    Task<UserInfoRoleDto> GetAsync();
    /// <summary>
    /// 登录账号获取用户信息
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<UserInfoRoleDto> LoginAsync(LoginInput input);

    /// <summary>
    /// 编辑用户信息
    /// </summary>
    /// <returns></returns>
    Task UpdateAsync(UpdateUserInfoInput input);

    Task<UserInfoRoleDto> RegisterAsync(RegisterInput input);
    /// <summary>
    /// 获取用户列表
    /// </summary>
    /// <returns></returns>
    Task<PageResultDto<UserInfoDto>> GetListAsync(GetListInput input);

    /// <summary>
    /// 删除用户
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task DeleteAsync(IEnumerable<Guid> id);

    /// <summary>
    /// 是否禁用用户
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task ForbiddenAsync(IEnumerable<Guid> id);


}
